home *** CD-ROM | disk | FTP | other *** search
- =head1 NAME
-
- perlfaq2 - Obtaining and Learning about Perl ($Revision: 1.32 $, $Date: 1999/10/14 18:46:09 $)
-
- =head1 DESCRIPTION
-
- This section of the FAQ answers questions about where to find
- source and documentation for Perl, support, and
- related matters.
-
- =head2 What machines support Perl? Where do I get it?
-
- The standard release of Perl (the one maintained by the perl
- development team) is distributed only in source code form. You
- can find this at http://www.cpan.org/src/latest.tar.gz , which
- is in a standard Internet format (a gzipped archive in POSIX tar format).
-
- Perl builds and runs on a bewildering number of platforms. Virtually
- all known and current Unix derivatives are supported (Perl's native
- platform), as are other systems like VMS, DOS, OS/2, Windows,
- QNX, BeOS, OS X, MPE/iX and the Amiga.
-
- Binary distributions for some proprietary platforms, including
- Apple systems, can be found http://www.cpan.org/ports/ directory.
- Because these are not part of the standard distribution, they may
- and in fact do differ from the base Perl port in a variety of ways.
- You'll have to check their respective release notes to see just
- what the differences are. These differences can be either positive
- (e.g. extensions for the features of the particular platform that
- are not supported in the source release of perl) or negative (e.g.
- might be based upon a less current source release of perl).
-
- =head2 How can I get a binary version of Perl?
-
- If you don't have a C compiler because your vendor for whatever
- reasons did not include one with your system, the best thing to do is
- grab a binary version of gcc from the net and use that to compile perl
- with. CPAN only has binaries for systems that are terribly hard to
- get free compilers for, not for Unix systems.
-
- Some URLs that might help you are:
-
- http://www.cpan.org/ports/
- http://language.perl.com/info/software.html
-
- Someone looking for a Perl for Win16 might look to Laszlo Molnar's djgpp
- port in http://www.cpan.org/ports/#msdos , which comes with clear
- installation instructions. A simple installation guide for MS-DOS using
- Ilya Zakharevich's OS/2 port is available at
- http://www.cs.ruu.nl/%7Epiet/perl5dos.html
- and similarly for Windows 3.1 at http://www.cs.ruu.nl/%7Epiet/perlwin3.html .
-
- =head2 I don't have a C compiler on my system. How can I compile perl?
-
- Since you don't have a C compiler, you're doomed and your vendor
- should be sacrificed to the Sun gods. But that doesn't help you.
-
- What you need to do is get a binary version of gcc for your system
- first. Consult the Usenet FAQs for your operating system for
- information on where to get such a binary version.
-
- =head2 I copied the Perl binary from one machine to another, but scripts don't work.
-
- That's probably because you forgot libraries, or library paths differ.
- You really should build the whole distribution on the machine it will
- eventually live on, and then type C<make install>. Most other
- approaches are doomed to failure.
-
- One simple way to check that things are in the right place is to print out
- the hard-coded @INC that perl looks through for libraries:
-
- % perl -e 'print join("\n",@INC)'
-
- If this command lists any paths that don't exist on your system, then you
- may need to move the appropriate libraries to these locations, or create
- symbolic links, aliases, or shortcuts appropriately. @INC is also printed as
- part of the output of
-
- % perl -V
-
- You might also want to check out
- L<perlfaq8/"How do I keep my own module/library directory?">.
-
- =head2 I grabbed the sources and tried to compile but gdbm/dynamic loading/malloc/linking/... failed. How do I make it work?
-
- Read the F<INSTALL> file, which is part of the source distribution.
- It describes in detail how to cope with most idiosyncrasies that the
- Configure script can't work around for any given system or
- architecture.
-
- =head2 What modules and extensions are available for Perl? What is CPAN? What does CPAN/src/... mean?
-
- CPAN stands for Comprehensive Perl Archive Network, a ~700mb archive
- replicated on nearly 200 machines all over the world. CPAN contains
- source code, non-native ports, documentation, scripts, and many
- third-party modules and extensions, designed for everything from
- commercial database interfaces to keyboard/screen control to web
- walking and CGI scripts. The master web site for CPAN is
- http://www.cpan.org/ and there is the CPAN Multiplexer at
- http://www.perl.com/CPAN/CPAN.html which will choose a mirror near you
- via DNS. See http://www.perl.com/CPAN (without a slash at the
- end) for how this process works. Also, http://mirror.cpan.org/
- has a nice interface to the http://www.cpan.org/MIRRORED.BY
- mirror directory.
-
- See the CPAN FAQ at http://www.cpan.org/misc/cpan-faq.html for
- answers to the most frequently asked questions about CPAN
- including how to become a mirror.
-
- CPAN/path/... is a naming convention for files available on CPAN
- sites. CPAN indicates the base directory of a CPAN mirror, and the
- rest of the path is the path from that directory to the file. For
- instance, if you're using ftp://ftp.funet.fi/pub/languages/perl/CPAN
- as your CPAN site, the file CPAN/misc/japh is downloadable as
- ftp://ftp.funet.fi/pub/languages/perl/CPAN/misc/japh .
-
- Considering that there are close to two thousand existing modules in
- the archive, one probably exists to do nearly anything you can think of.
- Current categories under CPAN/modules/by-category/ include Perl core
- modules; development support; operating system interfaces; networking,
- devices, and interprocess communication; data type utilities; database
- interfaces; user interfaces; interfaces to other languages; filenames,
- file systems, and file locking; internationalization and locale; world
- wide web support; server and daemon utilities; archiving and
- compression; image manipulation; mail and news; control flow
- utilities; filehandle and I/O; Microsoft Windows modules; and
- miscellaneous modules.
-
- See http://www.cpan.org/modules/00modlist.long.html or
- http://search.cpan.org/ for a more complete list of modules by category.
-
-
- =head2 Is there an ISO or ANSI certified version of Perl?
-
- Certainly not. Larry expects that he'll be certified before Perl is.
-
- =head2 Where can I get information on Perl?
-
- The complete Perl documentation is available with the Perl distribution.
- If you have Perl installed locally, you probably have the documentation
- installed as well: type C<man perl> if you're on a system resembling Unix.
- This will lead you to other important man pages, including how to set your
- $MANPATH. If you're not on a Unix system, access to the documentation
- will be different; for example, documentation might only be in HTML format. All
- proper Perl installations have fully-accessible documentation.
-
- You might also try C<perldoc perl> in case your system doesn't
- have a proper man command, or it's been misinstalled. If that doesn't
- work, try looking in /usr/local/lib/perl5/pod for documentation.
-
- If all else fails, consult http://perldoc.cpan.org/ or
- http://www.perldoc.com/ both offer the complete documentation
- in html format.
-
- Many good books have been written about Perl--see the section below
- for more details.
-
- Tutorial documents are included in current or upcoming Perl releases
- include L<perltoot> for objects or L<perlboot> for a beginner's
- approach to objects, L<perlopentut> for file opening semantics,
- L<perlreftut> for managing references, L<perlretut> for regular
- expressions, L<perlthrtut> for threads, L<perldebtut> for debugging,
- and L<perlxstut> for linking C and Perl together. There may be more
- by the time you read this. The following URLs might also be of
- assistance:
-
- http://perldoc.cpan.org/
- http://www.perldoc.com/
- http://reference.perl.com/query.cgi?tutorials
- http://bookmarks.cpan.org/search.cgi?cat=Training%2FTutorials
-
- =head2 What are the Perl newsgroups on Usenet? Where do I post questions?
-
- The now defunct comp.lang.perl newsgroup has been superseded by the
- following groups:
-
- comp.lang.perl.announce Moderated announcement group
- comp.lang.perl.misc Very busy group about Perl in general
- comp.lang.perl.moderated Moderated discussion group
- comp.lang.perl.modules Use and development of Perl modules
- comp.lang.perl.tk Using Tk (and X) from Perl
-
- comp.infosystems.www.authoring.cgi Writing CGI scripts for the Web.
-
- There is also Usenet gateway to the mailing list used by the crack
- Perl development team (perl5-porters) at
- news://news.perl.com/perl.porters-gw/ .
-
- =head2 Where should I post source code?
-
- You should post source code to whichever group is most appropriate, but
- feel free to cross-post to comp.lang.perl.misc. If you want to cross-post
- to alt.sources, please make sure it follows their posting standards,
- including setting the Followup-To header line to NOT include alt.sources;
- see their FAQ (http://www.faqs.org/faqs/alt-sources-intro/) for details.
-
- If you're just looking for software, first use Google
- (http://www.google.com), Deja (http://www.deja.com), and
- CPAN Search (http://search.cpan.org). This is faster and more
- productive than just posting a request.
-
- =head2 Perl Books
-
- A number of books on Perl and/or CGI programming are available. A few of
- these are good, some are OK, but many aren't worth your money. Tom
- Christiansen maintains a list of these books, some with extensive
- reviews, at http://www.perl.com/perl/critiques/index.html .
-
- The incontestably definitive reference book on Perl, written by
- the creator of Perl, is now (July 2000) in its third edition:
-
- Programming Perl (the "Camel Book"):
- by Larry Wall, Tom Christiansen, and Jon Orwant
- 0-596-00027-8 [3rd edition July 2000]
- http://www.oreilly.com/catalog/pperl3/
- (English, translations to several languages are also available)
-
- The companion volume to the Camel containing thousands
- of real-world examples, mini-tutorials, and complete programs is:
-
- The Perl Cookbook (the "Ram Book"):
- by Tom Christiansen and Nathan Torkington,
- with Foreword by Larry Wall
- ISBN 1-56592-243-3 [1st Edition August 1998]
- http://perl.oreilly.com/cookbook/
-
- If you're already a hard-core systems programmer, then the Camel Book
- might suffice for you to learn Perl from. If you're not, check out
-
- Learning Perl (the "Llama Book"):
- by Randal Schwartz and Tom Christiansen
- with Foreword by Larry Wall
- ISBN 1-56592-284-0 [2nd Edition July 1997]
- http://www.oreilly.com/catalog/lperl2/
-
- Despite the picture at the URL above, the second edition of "Llama
- Book" really has a blue cover and was updated for the 5.004 release
- of Perl. Various foreign language editions are available, including
- I<Learning Perl on Win32 Systems> (the "Gecko Book").
-
- If you're not an accidental programmer, but a more serious and possibly
- even degreed computer scientist who doesn't need as much hand-holding as
- we try to provide in the Llama or its defurred cousin the Gecko, please
- check out the delightful book, I<Perl: The Programmer's Companion>,
- written by Nigel Chapman.
-
- Addison-Wesley (http://www.awlonline.com/) and Manning
- (http://www.manning.com/) are also publishers of some fine Perl books
- such as Object Oriented Programming with Perl by Damian Conway and
- Network Programming with Perl by Lincoln Stein.
-
- An excellent technical book discounter is Bookpool at
- http://www.bookpool.com/ where a 30% discount or more is not unusual.
-
- What follows is a list of the books that the FAQ authors found personally
- useful. Your mileage may (but, we hope, probably won't) vary.
-
- Recommended books on (or mostly on) Perl follow.
-
- =over 4
-
- =item References
-
- Programming Perl
- by Larry Wall, Tom Christiansen, and Jon Orwant
- ISBN 0-596-00027-8 [3rd edition July 2000]
- http://www.oreilly.com/catalog/pperl3/
-
- Perl 5 Pocket Reference
- by Johan Vromans
- ISBN 0-596-00032-4 [3rd edition May 2000]
- http://www.oreilly.com/catalog/perlpr3/
-
- Perl in a Nutshell
- by Ellen Siever, Stephan Spainhour, and Nathan Patwardhan
- ISBN 1-56592-286-7 [1st edition December 1998]
- http://www.oreilly.com/catalog/perlnut/
-
- =item Tutorials
-
- Elements of Programming with Perl
- by Andrew L. Johnson
- ISBN 1884777805 [1st edition October 1999]
- http://www.manning.com/Johnson/
-
- Learning Perl
- by Randal L. Schwartz and Tom Christiansen
- with foreword by Larry Wall
- ISBN 1-56592-284-0 [2nd edition July 1997]
- http://www.oreilly.com/catalog/lperl2/
-
- Learning Perl on Win32 Systems
- by Randal L. Schwartz, Erik Olson, and Tom Christiansen,
- with foreword by Larry Wall
- ISBN 1-56592-324-3 [1st edition August 1997]
- http://www.oreilly.com/catalog/lperlwin/
-
- Perl: The Programmer's Companion
- by Nigel Chapman
- ISBN 0-471-97563-X [1st edition October 1997]
- http://catalog.wiley.com/title.cgi?isbn=047197563X
-
- Cross-Platform Perl
- by Eric Foster-Johnson
- ISBN 1-55851-483-X [2nd edition September 2000]
- http://www.pconline.com/~erc/perlbook.htm
-
- MacPerl: Power and Ease
- by Vicki Brown and Chris Nandor,
- with foreword by Matthias Neeracher
- ISBN 1-881957-32-2 [1st edition May 1998]
- http://www.macperl.com/ptf_book/
-
- =item Task-Oriented
-
- The Perl Cookbook
- by Tom Christiansen and Nathan Torkington
- with foreword by Larry Wall
- ISBN 1-56592-243-3 [1st edition August 1998]
- http://www.oreilly.com/catalog/cookbook/
-
- Effective Perl Programming
- by Joseph Hall
- ISBN 0-201-41975-0 [1st edition 1998]
- http://www.awl.com/
-
-
- =item Special Topics
-
- Mastering Regular Expressions
- by Jeffrey E. F. Friedl
- ISBN 1-56592-257-3 [1st edition January 1997]
- http://www.oreilly.com/catalog/regex/
-
- Network Programming with Perl
- by Lincoln Stein
- ISBN 0-201-61571-1 [1st edition 2001]
- http://www.awlonline.com/
-
- Object Oriented Perl
- Damian Conway
- with foreword by Randal L. Schwartz
- ISBN 1884777791 [1st edition August 1999]
- http://www.manning.com/Conway/
-
- Data Munging with Perl
- Dave Cross
- ISBN 1930110006 [1st edition 2001]
- http://www.manning.com/cross
-
- Learning Perl/Tk
- by Nancy Walsh
- ISBN 1-56592-314-6 [1st edition January 1999]
- http://www.oreilly.com/catalog/lperltk/
-
- =back
-
- =head2 Perl in Magazines
-
- The first and only periodical devoted to All Things Perl, I<The
- Perl Journal> contained tutorials, demonstrations, case studies,
- announcements, contests, and much more. I<TPJ> had columns on web
- development, databases, Win32 Perl, graphical programming, regular
- expressions, and networking, and sponsored the Obfuscated Perl
- Contest. Sadly, this publication is no longer in circulation, but
- should it be resurrected, it will most likely be announced on
- http://use.perl.org/ .
-
- Beyond this, magazines that frequently carry high-quality articles
- on Perl are I<Web Techniques> (see http://www.webtechniques.com/),
- I<Performance Computing> (http://www.performance-computing.com/), and Usenix's
- newsletter/magazine to its members, I<login:>, at http://www.usenix.org/.
- Randal's Web Technique's columns are available on the web at
- http://www.stonehenge.com/merlyn/WebTechniques/ .
-
- =head2 Perl on the Net: FTP and WWW Access
-
- To get the best performance, pick a site from
- the list below and use it to grab the complete list of mirror sites
- which is at /CPAN/MIRRORED.BY or at http://mirror.cpan.org/.
- From there you can find the quickest site for you. Remember, the
- following list is I<not> the complete list of CPAN mirrors
- (the complete list contains 165 sites as of January 2001):
-
- http://www.cpan.org/
- http://www.perl.com/CPAN/
- http://download.sourceforge.net/mirrors/CPAN/
- ftp://ftp.digital.com/pub/plan/perl/CPAN/
- ftp://ftp.flirble.org/pub/languages/perl/CPAN/
- ftp://ftp.uvsq.fr/pub/perl/CPAN/
- ftp://ftp.funet.fi/pub/languages/perl/CPAN/
- ftp://ftp.dti.ad.jp/pub/lang/CPAN/
- ftp://mirror.aarnet.edu.au/pub/perl/CPAN/
- ftp://cpan.if.usp.br/pub/mirror/CPAN/
-
- One may also use xx.cpan.org where "xx" is the 2-letter country code
- for your domain; e.g. Australia would use au.cpan.org.
-
- =head2 What mailing lists are there for Perl?
-
- Most of the major modules (Tk, CGI, libwww-perl) have their own
- mailing lists. Consult the documentation that came with the module for
- subscription information.
-
- http://lists.cpan.org/
-
- =head2 Archives of comp.lang.perl.misc
-
- Have you tried Deja or AltaVista? Those are the
- best archives. Just look up "*perl*" as a newsgroup.
-
- http://www.deja.com/dnquery.xp?QRY=&DBS=2&ST=PS&defaultOp=AND&LNG=ALL&format=terse&showsort=date&maxhits=25&subjects=&groups=*perl*&authors=&fromdate=&todate=
-
- You might want to trim that down a bit, though.
-
- You'll probably want more a sophisticated query and retrieval mechanism
- than a file listing, preferably one that allows you to retrieve
- articles using a fast-access indices, keyed on at least author, date,
- subject, thread (as in "trn") and probably keywords. The best
- solution the FAQ authors know of is the MH pick command, but it is
- very slow to select on 18000 articles.
-
- If you have, or know where can be found, the missing sections, please
- let perlfaq-suggestions@perl.com know.
-
- =head2 Where can I buy a commercial version of Perl?
-
- In a real sense, Perl already I<is> commercial software: it has a license
- that you can grab and carefully read to your manager. It is distributed
- in releases and comes in well-defined packages. There is a very large
- user community and an extensive literature. The comp.lang.perl.*
- newsgroups and several of the mailing lists provide free answers to your
- questions in near real-time. Perl has traditionally been supported by
- Larry, scores of software designers and developers, and myriads of
- programmers, all working for free to create a useful thing to make life
- better for everyone.
-
- However, these answers may not suffice for managers who require a
- purchase order from a company whom they can sue should anything go awry.
- Or maybe they need very serious hand-holding and contractual obligations.
- Shrink-wrapped CDs with Perl on them are available from several sources if
- that will help. For example, many Perl books include a distribution of Perl,
- as do the O'Reilly Perl Resource Kits (in both the Unix flavor
- and in the proprietary Microsoft flavor); the free Unix distributions
- also all come with Perl.
-
- Alternatively, you can purchase commercial incidence based support
- through the Perl Clinic. The following is a commercial from them:
-
- "The Perl Clinic is a commercial Perl support service operated by
- ActiveState Tool Corp. and The Ingram Group. The operators have many
- years of in-depth experience with Perl applications and Perl internals
- on a wide range of platforms.
-
- "Through our group of highly experienced and well-trained support engineers,
- we will put our best effort into understanding your problem, providing an
- explanation of the situation, and a recommendation on how to proceed."
-
- Contact The Perl Clinic at
-
- www.PerlClinic.com
-
- North America Pacific Standard Time (GMT-8)
- Tel: 1 604 606-4611 hours 8am-6pm
- Fax: 1 604 606-4640
-
- Europe (GMT)
- Tel: 00 44 1483 862814
- Fax: 00 44 1483 862801
-
- See also www.perl.com for updates on tutorials, training, and support.
-
- =head2 Where do I send bug reports?
-
- If you are reporting a bug in the perl interpreter or the modules
- shipped with Perl, use the I<perlbug> program in the Perl distribution or
- mail your report to perlbug@perl.org .
-
- If you are posting a bug with a non-standard port (see the answer to
- "What platforms is Perl available for?"), a binary distribution, or a
- non-standard module (such as Tk, CGI, etc), then please see the
- documentation that came with it to determine the correct place to post
- bugs.
-
- Read the perlbug(1) man page (perl5.004 or later) for more information.
-
- =head2 What is perl.com? Perl Mongers? pm.org? perl.org?
-
- The Perl Home Page at http://www.perl.com/ is currently hosted on a
- T3 line courtesy of Songline Systems, a software-oriented subsidiary of
- O'Reilly and Associates. Other starting points include
-
- http://language.perl.com/
- http://conference.perl.com/
- http://reference.perl.com/
-
- Perl Mongers is an advocacy organization for the Perl language which
- maintains the web site http://www.perl.org/ as a general advocacy
- site for the Perl language.
-
- Perl Mongers uses the pm.org domain for services related to Perl user
- groups, including the hosting of mailing lists and web sites. See the
- Perl user group web site at http://www.pm.org/ for more information about
- joining, starting, or requesting services for a Perl user group.
-
- Perl Mongers also maintain the perl.org domain to provide general
- support services to the Perl community, including the hosting of mailing
- lists, web sites, and other services. The web site
- http://www.perl.org/ is a general advocacy site for the Perl language,
- and there are many other sub-domains for special topics, such as
-
- http://bugs.perl.org/
- http://history.perl.org/
- http://lists.perl.org/
- http://news.perl.org/
- http://use.perl.org/
-
- =head1 AUTHOR AND COPYRIGHT
-
- Copyright (c) 1997-2001 Tom Christiansen and Nathan Torkington.
- All rights reserved.
-
- When included as an integrated part of the Standard Distribution
- of Perl or of its documentation (printed or otherwise), this works is
- covered under Perl's Artistic License. For separate distributions of
- all or part of this FAQ outside of that, see L<perlfaq>.
-
- Irrespective of its distribution, all code examples here are in the public
- domain. You are permitted and encouraged to use this code and any
- derivatives thereof in your own programs for fun or for profit as you
- see fit. A simple comment in the code giving credit to the FAQ would
- be courteous but is not required.
-